import App from './App'
import store from './store'
import { getWwwData } from './utils/www_api.js'

// 应用启动时预加载数据 - 此部分放在条件编译外，确保在两种环境都执行
getWwwData().then(data => {
  //console.log('首页数据加载完成', data)
})

// #ifndef VUE3

import Vue from 'vue'
import './uni.promisify.adaptor'
Vue.config.productionTip = false
// 挂载全局方法
Vue.prototype.$getWwwData = getWwwData
App.mpType = 'app'
const app = new Vue({
  store,
  ...App,
  
})
// Vue2环境下启动窗口监听
if (typeof window !== 'undefined') {
  store.dispatch('kuan/startWindowResizeListener')
}
app.$mount()
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'
export function createApp() {
  const app = createSSRApp(App)
  app.use(store)  // Vue3中使用use方法注入store
  // Vue3环境下启动窗口监听
  if (typeof window !== 'undefined') {
    store.dispatch('kuan/startWindowResizeListener')
  }
  // Vue3中全局方法挂载
  app.config.globalProperties.$getWwwData = getWwwData
  return {
    app
  }
}
// #endif